Archive-name: tcl-faq/part3 Comp-lang-tcl-archive-name: tcl-faq.part03 Version: 6.7 Last-modified: Apr. 28, 1995 For more information concerning Tcl (see "tcl-faq/part1"), (see "tcl-faq/part2"), (see "tcl-faq/part4") or (see "tcl-faq/part5"). Index of questions: XI. Where can I get these packages? A. Retrieving Tcl and Tk B. Accessing the Tcl/Tk User Contributions Archive C. Expect available via e-mail. D. EMACS modes for Tcl E. The tk toolbox project F. [tv]grind definitions for tcl/tk/expect G. BNF style notation for Tcl H. Tk Quick Reference Card I. Hilit 19 Tcl mode J. HTML versions of Tcl man pages and FAQ. K. Japanese translation of Tk 3.6 manuals L. Latex styles for the Tcl/Tk Workshop 94. M. Tcl 7.3 Quick Reference card N. "How do I speed up a Tcl/Tk application" doc O. How do I access http: files without a WWW client? P. Where do I find the patch command? End of FAQ Index ---------------------------------------------------------------------- ------------------------------ From: FAQ Tcl/Tk Package Catalog Subject: -XI- Where can I get these packages? Tcl and Extended Tcl have been posted to comp.sources.misc in the past, appearing In volume 25 and then Tcl appeared again in volume 26 and can be found at most comp.sources.misc archive sites in the tcl and tclx directories. These are quite old versions actually, but are still usable. A few of the sites which either mirror the Tcl/Tk submissions or have special versions are: <- shadow of the user contrib and base <- Does not seem to be answering <- base <- user archive <- shadow of base,user,expect, ak, tkwin, and comp.lang.tcl archive <- VUW <- shadow of ftp.cs only <- some code mirrored <- some code mirrored <- some code mirrored <- shadow of user archive <- shadow of FAQs <- the original home of user contribution archive <- original home of Tcl/Tk base code <- shadow of user, etc. <- original home of TclX <- shadow of base code only <- shadow of base only <- contains port of extended Tcl and extended Tk to this OS. Note also that there are a number of CD-ROMs now available with a snapshot of various Tcl archive sites on them. (See "tcl-faq/bibliography/part1") for details. ------------------------------ From: -XI- Where can I get these packages? Subject: -A- Retrieving Tcl and Tk >From: ouster@cs.Berkeley.EDU (John Ousterhout) >Newsgroups: comp.lang.tcl >Subject: Obtaining Tcl/Tk sources For people new to the Tcl/Tk community, here is information on how to obtain Tcl and Tk sources. The information below describes what I distribute; other information is available from other machines also, such as ftp.aud.alcatel.com. The sources and documentation for the Tcl command language library, for the Tk toolkit, and for a few Tcl-based applications, are in the public FTP area on ftp.cs.berkeley.edu. All of these files are in the "tcl" subdirectory of the FTP area. Here is a catalog of what's available. Most of the files are compressed tar files ("xxx.tar.Z"). There is some overlap between the contents of the various packages. tk3.6.tar.Z - This is the latest and most stable release of the Tk toolkit, released in November 1993 (patch level 206). It includes the sources for the Tk library and the "wish" windowing shell, plus reference manual entries and a number of demonstration scripts. tk3.6p1.patch.Z - Patch file that fixes bugs in Tk version 3.6. See the beginning of the patch file for information about the bugs it fixes and how to apply it. tcl7.3.tar.Z - This is the latest and most stable release of the Tcl library, released in November 1993 (patch level 106). It includes the sources for the Tcl library and the "tclsh" application, plus reference manual entries. tclX7.3b.tar.Z - Extended Tcl (or NeoSoft Tcl), created by Mark Diekhans and Karl Lehenbauer, which adds a number of useful facilities to the base Tcl release. Among the things in Extended Tcl are a Tcl shell, many new commands for things like UNIX kernel call access, keyed lists, and time conversion, and an on-line help facility. This package works with Tcl versions 7.3 or later and Tk versions 3.6 or later. mx.tar.Z - Sources and documentation for a mouse-based text editor (mx) and terminal emulator (tx) based on Tcl. This is a very old release: it uses an old version of Tcl (which is included) and doesn't even use Tk; it uses an ancient toolkit called "Sx". These tools will eventually be replaced with new tools based on Tk and the newest Tcl. mx-2.5.tar.Z - Newer version of mx (see above) that uses the standard X selection mechanism rather than the home-grown mechanism used by previous versions. Version 2.5 is not backwards compatible with previous versions (you can't cut and paste between the two). Still uses sx and an old version of Tcl (both of which are included). engManual.tar.Z - Compressed tar file for a directory containing the Tcl/Tk Engineering Manual, which describes the coding and testing conventions used to develop Tcl and Tk. I strongly encourage other Tcl/Tk developers to follow these conventions, particularly if you want to submit code for possible inclusion into official releases. book.p*.ps.Z Compressed Postscript for an early draft of the book "Tcl and the Tk Toolkit", which was published by Addison-Wesley in April 1994 (ISBN 0-201-63337-X). The draft is in four parts, each in a separate file. You're probably better off with the published version of the book, though; it has a number of improvements and an index. book.p1.ps.Z This part describes the Tcl language and how to write scripts in it. About 130 pages in length. book.p2.ps.Z This part of the book describes how to write Tcl scripts for Tk. About 125 pages in length. book.p3.ps.Z This part of the book describes how to write Tcl applications in C, using the Tcl library procedure. 64 pages in length. book.p4.ps.Z This part of the book describes how to write new widgets and geometry managers in C, using the Tk library procedures. About 70 pages in length. book.examples.Z Compressed file containing ASCII text for nearly all of the examples from the Tcl book. tclUsenix90.ps - Postscript for a paper on Tcl that appeared in the Winter 1990 USENIX Conference. tkUsenix91.ps - Postscript for a paper on Tk that appeared in the Winter 1991 USENIX Conference. tkF10.ps - Postscript for Figure 10 of the Tk paper. tut.tar.Z - A collection of materials from a full-day tutorial on Tcl and Tk. Includes viewgraphs from five one-hour talks plus a sample widget. tc-tcl93.ps.gz - PostScript formatted copy of Tcl Compiler paper presented at the Tcl'93 Workshop. tc-tcl93.tex.gz - LaTeX source for the Tcl Compiler paper presented at the Tcl'93 Workshop. In addition, there may be older releases of some or all of the above files; look for files with earlier release numbers. To retrieve any or all of these packages, use anonymous FTP to ftp.cs.berkeley.edu (Internet address 128.32.149.78). Use user "anonymous"; when asked for a password, type your email address. Then retrieve the relevant file(s) with the commands like the following: type image (try "type binary" if this command is rejected) cd tcl get tk3.6.tar.Z Be sure to retrieve files in image mode (type "type image" to FTP) in order to make sure that you end up with an uncorrupted file. Any file with a .Z extension is a compressed file, which means you must use the "uncompress" program to get back a normal file. For example, for the file tk3.6.tar.Z, you should type uncompress tk3.6.tar.Z once you've retrieved the file. This will produce a file named "tk3.6.tar". Then you will need to use tar to extract the members. Typically one would use a command such as: tar xv tk3.6.tar to extract the pieces. Any file with a .gz extension is a file compressed with gzip, the gnu portable compression standard. To get a copy, ftp to prep.ai.mit.edu and look in pub/gnu. For example, to uncompress tc-tcl93.ps.gz, type gunzip tc-tcl93.ps.gz once you've retrieved the file. This will produce a file named "tc-tcl93.ps". Each of the releases has a README file in the top-level directory that describes how to compile the release, where to find documentation, etc. Questions or problems about any of these distributions should be directed to (John Ousterhout). ------------------------------ From: -XI- Where can I get these packages? Subject: -B- Accessing the Tcl/Tk User Contributions Archive Contributions to the Tcl/Tk Contrib Archive are most welcome -- please upload them to: send the archive maintainer a note stating the names of the files you uploaded and a brief description for the index. Users without FTP capability should use one of the following mail-based FTP services (send mail to the appropriate address with "help" in the body): BITNET users: BITFTP Others: (DEC ftpmail) Europe: WARNING! The archive maintainer will NOT be automatically archiving anything posted to comp.lang.tcl or previously to the mailing list. So if you want your nifty porting instructions for getting Tcl up on your Seiko wrist watch or your pen computer to be saved for others benefit, be sure to ftp them into the archive. All submissions should be ftp'ed into the above subdirectory. Please send and a short mail message stating the filename(s) of your contribution and a brief description (for the Index). If you've posted some code to comp.lang.tcl or the Tcl mailing list, and you want it to be archived at this site, please deposit it in /tcl/incoming or mail it in a suitable form (preferably uuencoded compressed tar file, but a shar file's OK) to . Also, PLEASE include a {packagename}.README file which describes the contribution. The Tcl/Tk archive can also be accessed via the World Wide Web (WWW) with the URL, "http://web.cs.ualberta.ca/%7Ewade/Auto/Tcl.html" Note: I have noticed that some authors prefer to use plain names rather than version level type names. This means that you should a) make note of when you get a package, and b) check the archive occasionally to see if a newer version of the package has appeared. ------------------------------ From: -XI- Where can I get these packages? Subject: -C- Expect available via e-mail. Besides being available via , expect can also be received by email by sending the message "send pub/expect/expect.shar.Z" to . ------------------------------ From: -XI- Where can I get these packages? Subject: -D- EMACS modes for Tcl (Sean Levy) has hacked a version of Emacs's C mode into a tcl-mode.el. He mentions that you must use semi-colons at the end of each statement to get indentation to work right, but he found that easier than doing without. The code is on [128.2.214.236] (don't forget binary mode) as well as . (Julian Anderson) was also working on an Emacs Tcl minor mode to fundamental. (Chris Lindblad) has contributed tcl.el, a Tcl mode for GNU emacs. It's address is . (Tom Tromey) has contributed a tcl.el which is better than his former tcl-help.el. This is a modified version of Chris Lindblad's Tcl editing mode. This new editing mode contains the help code, a tcl interaction mode, menus, font lock support, etc. It is available on the Emacs Lisp Archive at and on (Gregor Schmid) has written a major mode for tcl scripts. He posted tcl-mode 1.1 to gnu.emacs.sources in March and it should be on archive.cis.ohio-state.edu - but I am not able to locate it. The latest version of xemacs (formerly lemacs) mentions that it has a tcl-mode built in. ------------------------------ From: -XI- Where can I get these packages? Subject: -E- The tk toolbox project The Tk Toolbox & Toolchest project. The Toolchest consists of convenience routines for Tcl and Tk - a kind of a libc for Tcl. The toolbox is a collection of commonly used code and some specialized code such as file selectors, dialogs that take care of keyboard traversal through items automatically, etc. The project has currently not yet reached a usable state, but each formal release will be announced in comp.lang.tcl as well as other newsgroups. There has been, in the past, a mailing list for discussion of the tk toolbox, kindly provided by Ari Lemmke. To subscribe, write a message with the line: X-Mn-Admin: join tktools in the body or header of the message. Send this message to . To write to the list, send messages to and add the line X-Mn-Key: TKTOOLS to the header or the body of the message. Especially remember this when replying to messages from the list. For more info about the list server (mailnet), write an empty message to . The intermediate snapshots are announced on this mailing list. If you have problems or are willing to donate code or whatever, you can contact the code maintainer (one of the three main implementors) at or . Unfortunately, the development effort has currently come to a stop on this project and it is not yet known when it will be started again. ------------------------------ From: -XI- Where can I get these packages? Subject: -F- [tv]grind definitions for tcl/tk/expect (Martin Hamilton) has come up with a preliminary grindcap definition for Tcl, Tk and expect. These are available as: (Andy Rabagliati) has come up with a preliminary grindcap definition for Tcl. Contact him for more details. ------------------------------ From: -XI- Where can I get these packages? Subject: -G- BNF style notation for Tcl (TERRENCE MONROE BRANNON) in July of 1993, posted some yacc code for a tcl-to-c parser. This, along with Adam Sah's Tcl compiler, are a couple of sources with which folk could start. ------------------------------ From: -XI- Where can I get these packages? Subject: -H- Tk Quick Reference Card (Paul E. Raines) has uploaded a quick reference card for Tk 3.3. You may find it at: The tar contains the TeX and PostScript versions of a 3 column listing of all widget methods and options and summaries of the wm, winfo, pack, place and bind commands. ------------------------------ From: -XI- Where can I get these packages? Subject: -I- Hilit 19 Tcl mode AI. Aaron Roydhouse wrote, and (Julian Anderson) posted, the following: (hilit-set-mode-patterns 'tcl-mode '(("\\s #.*$" nil comment) ("^#.*$" nil comment) ("\"[^\\\"]*\\(\\\\\\(.\\|\n\\)[^\\\"]*\\)*\"" nil string) ("\\$[-_a-zA-Z]+" nil varref) ("^source.*$" nil include) ("\\b\\(global\\|upvar\\)\\b" nil decl) ("\\b\\(error\\|debug\\)\\b" nil decl) ("^\\s *proc\\s +\\(\\w\\|[_']\\)+" nil defun) ("\\b\\(set\\|lset\\|list\\|if\\|case\\|while\\|switch\\|then\\|else\\| for\\|foreach\\|return\\|expr\\|catch\\)\\b" nil keyword))) Dwight Shih later posted the following font lock mode: (defvar tcl-font-lock-keywords (list (list (concat "\\b\\(" (mapconcat 'identity '("set" "lset" "list" "if" "case" "while" "switch" "then" "else" "for" "foreach" "return" "expr" "catch" "puts" "proc" "trace") "\\|") "\\)\\b") 1 'font-lock-keyword-face t) (list (concat "\\b\\(" (mapconcat 'identity '("global" "upvar" "uplevel" "error" "debug") "\\|") "\\)\\b") 1 'font-lock-type-face t) (list "^\\s *proc\\s +\\(\\(\\w\\|[_']\\)+\\)" 1 'font-lock-function-name-fac e t)) "keywords for tcl-mode") (defun font-lock-set-defaults () "Set `font-lock-keywords' to something appropriate for this mode." (setq font-lock-keywords (cond ((eq major-mode 'lisp-mode) lisp-font-lock-keywords) ((eq major-mode 'emacs-lisp-mode) lisp-font-lock-keywords) ((eq major-mode 'c-mode) c-font-lock-keywords) ((eq major-mode 'c++-c-mode) c-font-lock-keywords) ((eq major-mode 'c++-mode) c++-font-lock-keywords) ((eq major-mode 'tex-mode) tex-font-lock-keywords) ((eq major-mode 'perl-mode) perl-font-lock-keywords) ((eq major-mode 'tcl-mode) tcl-font-lock-keywords) ((eq major-mode 'texinfo-mode) texi-font-lock-keywords) (t nil)))) ------------------------------ From: -XI- Where can I get these packages? Subject: -J- HTML versions of Tcl man pages and FAQ. Mike Hopkirk has provided a tar archive of HyperText Markup Language (HTML) versions of the comp.lang.tcl FAQ, the Tcl/Tk man pages, index pages for the man pages, and a top level access page to tie together all the above. It is Note that once these have been untarred, one can use a WorldWideWeb (WWW) browser such as Mosaic, Lynx, etc. to begin at the Tcl.html page and read the entire distribution. The original source of this package can be examined at: Having the package in this way provides a means for those behind a firewall to examine the docs frozen at this point in time. There are no commitments to continue providing updates to this package. The man pages provided here were made using a perl script called man2html originally written by (Brooks Cutter) and slightly post processed. Tom Phelps has written RosettaMan, which allows one to translate man pages into many formats, including HTML. (see "tcl-faq/part04") for details. ------------------------------ From: -XI- Where can I get these packages? Subject: -K- Japanese translation of Tk 3.6 manuals Toshiya Kitayama and nakaya@sra.co.jp have made a Japanese translation of Tk 3.6 manual pages except pack-old.n available at . If you have questions or comments, send them to . ------------------------------ From: -XI- Where can I get these packages? Subject: -L- Latex styles for the Tcl/Tk Workshop 94. Yasuro Kawata released the Latex styles as well as a sample document and sample .dvi file to the news group. Contact this user directly for a copy. ------------------------------ From: -XI- Where can I get these packages? Subject: -M- Tcl 7.3 Quick Reference card Jeff Tranter has written a Tcl Quick Reference document in TeX. A PostScript version of the document is provided in the file as well. ------------------------------ From: -XI- Where can I get these packages? Subject: -N- "How do I speed up a Tcl/Tk application" doc is a text document with examples on how to speed up Tcl/Tk applications. Thanks to Stephen O. Lidie for the work! ------------------------------ From: -XI- Where can I get these packages? Subject: -O- How do I access http: files without a WWW client? Within the various TCL FAQs there are references to items in the form of http://host.name/path/to/file . These are in a form which are useful to WorldWideWeb (WWW) clients. But for those unable to use WWW for some reason, there is a modicum of relief. To access these files via email: 1. Address a message to: 2. There is no need for a Subject: line. 3. In the body of the message, type: send http://host.name/path/to/file 4. Be sure to provide the path name you are seeking rather than the sample above. Eventually you should get back the file in question. ------------------------------ From: -XI- Where can I get these packages? Subject: -P- Where do I find the patch command? The patch command is used to apply updates to a source package. It assumes that you have the previous version of the source package in an uncompressed format as well as a file containing one or more modifications to make. One very popular version of the patch command is the one currently a part of the project GNU archives. One place to being looking for these is . If this site has too many users, it's messages tell you some alternative sites to try. ------------------------------ End of comp.lang.tcl Frequently Asked Questions (3/5) ***************************************************** -- :s Larry W. Virden INET: larry.virden@cas.org :s :s Unless explicitly stated to the contrary, nothing in this posting should :s be construed as representing my employer's opinions. -- :s Larry W. Virden INET: larry.virden@cas.org :s :s Unless explicitly stated to the contrary, nothing in this posting should :s be construed as representing my employer's opinions.